Skip to content

feat: add curl-pipe-sh installer script#13

Merged
diranged merged 6 commits intomainfrom
feat/install-script
Apr 4, 2026
Merged

feat: add curl-pipe-sh installer script#13
diranged merged 6 commits intomainfrom
feat/install-script

Conversation

@diranged
Copy link
Copy Markdown
Owner

@diranged diranged commented Apr 4, 2026

Summary

  • One-line installer for darwin/linux (amd64/arm64)
  • Defaults to latest release via GitHub /releases/latest redirect — no API auth or rate limits
  • Supports VERSION=v0.1.0 override for pinning
  • SHA-256 checksum verification against checksums.txt
  • Installs to /usr/local/bin (or INSTALL_DIR override), uses sudo only if needed

Usage:

curl -fsSL https://raw.githubusercontent.com/diranged/claude-profile/main/install.sh | sh

Test plan

  • Run installer on macOS (arm64)
  • Run installer on Linux (amd64)
  • Test VERSION=v0.1.0 override
  • Test INSTALL_DIR=/tmp override
  • Verify checksum validation works

🤖 Generated with Claude Code

diranged and others added 6 commits April 3, 2026 20:34
Adds install.sh for one-line installation from GitHub releases:
  curl -fsSL .../install.sh | sh

Supports darwin/linux on amd64/arm64, SHA-256 checksum verification,
and VERSION override for pinning. Resolves latest release via GitHub's
/releases/latest redirect (no API auth needed).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tests install.sh on Linux with:
- Default latest release install
- Specific version (VERSION=v0.1.0)
- Custom INSTALL_DIR
- Failure on nonexistent version

Only triggers on PRs that touch install.sh.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The repo is private, so unauthenticated curl calls to GitHub return 404.
Added gh_curl() wrapper that passes Authorization header when GITHUB_TOKEN
is set, and thread it through all GitHub-facing curl calls. CI workflow
now passes GITHUB_TOKEN to each step.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Repo is now public — remove GITHUB_TOKEN plumbing and use the simple
/releases/latest redirect approach for version resolution.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The trap handler can't access local variables from main() under set -u,
causing 'parameter not set' error on exit.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@diranged diranged marked this pull request as ready for review April 4, 2026 03:59
@diranged diranged merged commit 9e12705 into main Apr 4, 2026
3 checks passed
@diranged diranged deleted the feat/install-script branch April 4, 2026 03:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant